<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      /* 
            有一个数组:
                [9,1,3,2,8,0,5,7,6,4]
            进行排序,升序
            思路一:
              -比较相邻两个元素,然后根据大小来觉醒是否交换他们的位置
              -例子:
                第一次排序:1,3,2,8,0,5,7,6,4,9
                如果循环9次,那么会arrr[9会是Undefined,无意义运算]
                ...
                倒数第二次排序 0,1,2,3,4,5,6,7,8,9
                当0到最前面的时候,这次循环已经没有意义,所以可以-1

            -这种排序方式,称之为冒泡排序,是最慢的排序方式
              数字少可以凑合,数据量大了不适合用

            
            思路二:
              -取出一个元素,然后将其他的元素和该元素进行比较,如果其他元素比该元素笑,则交换两个元素的位置
              -选择排序
        */
      const arr = [9, 1, 3, 2, 8, 0, 5, 7, 6, 4, 11, 10, 222, 33];
      for (let i = 0; i < arr.length; i++) {
        for (let k = i + 1; k < arr.length; k++) {
          if (arr[i] > arr[k]) {
            let temp = arr[i];
            arr[i] = arr[k];
            arr[k] = temp;
          }
        }
      }
      /*       for (let k = 0; k < arr.length-1; k++) {
        for (let i = 0; i < arr.length - 1 - j ; i++) {
        if (arr[i] > arr[i + 1]) {
          let temp = arr[i]
          arr[i] = arr[i+1]
          arr[i+1] = temp
        }
      }
      // 因为冒泡排序,每一次最后一个肯定是最大/最小的,所有可以通过-j来减少不必要的循环,增加性能
      }
 */
      /*       function compareNumbers(a,b){
        return a-b;
      } 
      arr.sort();
      */
      console.log(arr);
    </script>
  </head>
  <body></body>
</html>
